package com.maozzi.api.blog;

import com.maozzi.api.blog.model.BlogDTO;
import com.maozzi.common.exception.BizException;
import com.maozzi.common.model.PageDTO;
import com.maozzi.common.model.PageParam;

/**
 * 博客 service
 *
 * @author maozi
 */
public interface BlogService {
    /**
     * 博客分页查询
     *
     * @param dto       查询参数
     * @param pageParam 分页参数
     * @return 返回
     * @throws BizException 业务异常
     */
    PageDTO<BlogDTO> page(BlogDTO dto, PageParam pageParam) throws BizException;

    /**
     * 查询
     *
     * @param id 博客ID
     * @return 返回
     * @throws BizException 业务异常
     */
    BlogDTO getById(Long id) throws BizException;

    /**
     * 新增一条博客
     *
     * @param dto 参数
     * @return 返回
     * @throws BizException 业务异常
     */
    BlogDTO add(BlogDTO dto) throws BizException;

    /**
     * 根据ID编辑博客
     *
     * @param dto 参数
     * @throws BizException 业务异常
     */
    void editById(BlogDTO dto) throws BizException;

    /**
     * 根据ID删除博客
     *
     * @param id 博客ID
     * @throws BizException 业务异常
     */
    void delById(Long id) throws BizException;
}
